package com.zkthink.ceres.member.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zkthink.base.entity.Entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import java.math.BigDecimal;

import static com.baomidou.mybatisplus.annotation.SqlCondition.EQUAL;
import static com.baomidou.mybatisplus.annotation.SqlCondition.LIKE;

/**
 * @Author Xiaoyan
 * @create 2021/12/13 9:48
 */
@Data
@NoArgsConstructor
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("xsy_user_gift_info")
@ApiModel(value = "UserGiftInfo", description = "礼物接收赠送类")
@AllArgsConstructor
public class UserGiftInfo extends Entity<Long> {

    //Receiver
    /**
     * 接收人ID
     */
    @ApiModelProperty(value = "接收人ID")
    @Length(max = 255, message = "接收人ID长度不能超过255")
    @TableField(value = "receiver_id", condition = LIKE)
    @Excel(name = "接收人ID")
    private Long receiverId;
    //
    //Giver
    /**
     * 赠送人ID
     */
    @ApiModelProperty(value = "赠送人ID")
    @Length(max = 255, message = "赠送人ID长度不能超过255")
    @TableField(value = "giver_id", condition = LIKE)
    @Excel(name = "赠送人ID")
    private Long giverId;
    //
    //Gift type
    /**
     * 礼物类型
     */
    @ApiModelProperty(value = "礼物类型")
    @Length(max = 255, message = "礼物类型长度不能超过255")
    @TableField(value = "gift_type", condition = LIKE)
    @Excel(name = "礼物类型")
    private Integer giftType;
    //
    //Gift name
    /**
     * 礼物ID
     */
    @ApiModelProperty(value = "礼物ID")
    @Length(max = 255, message = "礼物ID长度不能超过255")
    @TableField(value = "gift_id", condition = EQUAL)
    @Excel(name = "礼物ID")
    private Long giftId;
    /**
     * 礼物名称
     */
    @ApiModelProperty(value = "礼物名称")
    @Length(max = 255, message = "礼物名称长度不能超过255")
    @TableField(value = "gift_name", condition = LIKE)
    @Excel(name = "礼物名称")
    private String giftName;
    //
    //Gift value
    /**
     * 礼物价值
     */
    @ApiModelProperty(value = "礼物价值")
    @Length(max = 255, message = "礼物价值长度不能超过255")
    @TableField(value = "gift_value", condition = LIKE)
    @Excel(name = "礼物价值")
    private BigDecimal giftValue;
    //
    //Number of gifts
    /**
     * 礼物数量
     */
    @ApiModelProperty(value = "礼物数量")
    @Length(max = 255, message = "礼物数量长度不能超过255")
    @TableField(value = "gifts_number", condition = LIKE)
    @Excel(name = "礼物数量")
    private Integer giftsNumber;
    //
    //Location source
    /**
     * 位置来源
     */
    @ApiModelProperty(value = "位置来源")
    @Length(max = 255, message = "位置来源长度不能超过255")
    @TableField(value = "location_source", condition = LIKE)
    @Excel(name = "位置来源")
    private String locationSource;


}
